Graphical user interface (GUI) design is becoming more and more important in the development of software. Prototyping is a widely used technique for creating GUIs as part of software development. Prototypes can be classified according to the “fidelity” with which they resemble the actual product, such as in terms of appearance, interaction, function, and form. For example, lower fidelity prototypes may have less resemblance to an actual software product and often have lower quality. Higher fidelity prototypes may have more resemblance to an actual software product and often have higher quality.
Traditionally, lower fidelity prototypes are “throwaway” prototypes, meaning those prototypes are often created and later discarded. This typically makes it difficult to trace or manage comments related to the lower fidelity prototypes. This also often requires developers or other personnel to use different tools to create different prototypes of different fidelities, which increases the time and cost associated with the development and reduces productivity.